Skip to main content

GitHub Actions

Overview

GitHub Actions is used to automate several processes for our project, including build automation, releases, ensuring code quality, and other workflows related to project management. Our workflows can be found on the va-mobile-app repo's Actions tab.

Workflows

Our workflows can curently be categorized into three types: Release and Build workflows, Code Quality workflows, and Other workflows.

Build and Release Workflows

We release a new version of the app to app stores every 2 weeks. The process of building, packaging, uploading the app, updating screenshots and release notes manually can be very time consuming. We use a combination of GitHub Actions and fastlane to automate these processes with a combination of git branching strategy, scheduled jobs, and scripting.

View Build and Release Workflows

Code Quality Workflows

Our automations also help us prevent bad code from shipping out by performing linting and running unit tests before PRs are allowed to pass, keeping our dependencies up todate, scanning for vulnerability, and automating TestRail runs.

View Code Quality Workflows

Other Workflows

We also have other workflows to help us with more general tasks, such as getting a use added to our GitHub repo, sending Slack messages, enabling slash commands on our GitHub issues, and deploying our this documentation site.

View Other Workflows

Code Quality

  • Code checks: linting and automated test runners
  • Vulnerability checking with CodeQL

Automation Robot

We use our GitHub automation robot account to do any work in Actions. va-mobile-automation-robot account credentials are located in the VA Mobile vault in 1Password.

I would recommend that you use this account in a separate browser from your every-day browser. It's easier to have the two accounts at hand if one is running in Chrome and the other is only used in say Safari.

Access in Actions is granted with Personal Access Tokens.

Local Testing

You can test GitHub Actions on your local machine using act CLI tool

View saved test data used in local testing